﻿//
// Copyright (c) 2024 BPer
//

#ifndef BPERENCODER_INCLUDE_BPERVIDEOENCODERFACTORY_H_
#define BPERENCODER_INCLUDE_BPERVIDEOENCODERFACTORY_H_
#include <bperutil/BPerAvInfoType.h>
#include "BPerVideoEncoder.h"
#include <bperencoder/BPerAudioEncoder.h>
#include <bperavutil/video/BPerVideoEncoderMeta.h>


class BPerEncoderFactory {
public:
	BPerEncoderFactory();
	virtual ~BPerEncoderFactory();
	BPerAudioEncoder* createAudioEncoder(BPerAudioCodec paet,BPerAudioInfo *pcontext);
	BPerAudioEncoder* createAudioEncoder(BPerAudioInfo *pcontext);
	BPerVideoEncoder* createVideoEncoder(BPerVideoCodec paet,BPerVideoInfo *pcontext);
	BPerVideoEncoder* createVideoEncoder(BPerVideoInfo *pcontext);
	BPerVideoEncoderMeta* createVideoEncoderMeta(BPerVideoInfo *pcontext);
};

#endif /* BPERENCODER_INCLUDE_BPERVIDEOENCODERFACTORY_H_ */
